$(function () {
    let layer = layui.layer
    initArtCateList()
    // 封装
    function initArtCateList() {
        axios({
            url: '/my/article/cates',
        }).then(({
            data: res
        }) => {
            if (res.status != 0) {
                return layer.msg(res.message)
            }
            let arr = []
            res.data.forEach(ele => {
                if (ele.Id < 0) return
                arr.push(` 
                    <tr>
                        <td>${ ele.Id}</td>
                        <td>${ ele.name}</td>
                        <td>${ ele.alias}</td>
                        <td>
                            <button data-id="${ ele.Id }" class="btn-edit layui-btn layui-btn-xs">编辑 </button>
                            <button data-id="${ ele.Id }"class="btn-del layui-btn layui-btn-xs   layui-btn-danger">删除</button>
                        </td>
                    </tr>
                `)
            })
            $('tbody').empty().html(arr.join(''))
        })
    }

    // 需求2：点击按钮 弹出对话框
    let indexAdd = 0
    $('#addBtn').on('click', function () {
        indexAdd = layer.open({
            type: 1,
            title: '添加文章类别',
            area: ['500px', '260px'],
            content: `
            <form id='addForm' class="layui-form" action="">
                  <div class="layui-form-item">
                      <label class="layui-form-label">分类名称</label>
                      <div class="layui-input-block">
                          <input type="text" name="name" required lay-verify="required" placeholder="请输入标题" autocomplete="off"
                              class="layui-input">
                      </div>
                  </div>
                  <div class="layui-form-item">
                      <label class="layui-form-label">分类别名</label>
                      <div class="layui-input-block">
                          <input type="text" name="alias" required lay-verify="required" placeholder="请输入标题" autocomplete="off"
                              class="layui-input">
                      </div>
                  </div>
                  <div class="layui-form-item">
                      <div class="layui-input-block">
                          <button class="layui-btn" lay-submit lay-filter="formDemo">确认添加</button>
                          <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                      </div>
                  </div>
              </form>`
        })
    })

    // 需求3.添加文章分类，事件委托
    $('body').on('submit', '#addForm', function (e) {
        e.preventDefault()
        axios({
            method: 'post',
            url: '/my/article/addcates',
            data: $(this).serialize()
        }).then(({
            data: res
        }) => {
            if (res.status != 0) {
                return layer.msg(res.message)
            }
            layer.msg('恭喜你，添加文章成功')
            initArtCateList()
            // 关闭对话框
            layer.close(indexAdd)
        })
    })

    // 需求4. 修改分类弹出层
    let indexEdit = 0
    $('tbody').on('click', '.btn-edit', function () {
        indexEdit = layer.open({
            type: 1,
            title: '修改文章类别',
            area: ['500px', '260px'],
            content: `
            <form id='editForm' class="layui-form" lay-filter="editForm">
                <!--隐藏域 填充Id值，将来修改数据使用-->
                <input type="hidden" name="Id">
                  <div class="layui-form-item">
                      <label class="layui-form-label">分类名称</label>
                      <div class="layui-input-block">
                          <input type="text" name="name" required lay-verify="required" placeholder="请输入标题" autocomplete="off"
                              class="layui-input">
                      </div>
                  </div>
                  <div class="layui-form-item">
                      <label class="layui-form-label">分类别名</label>
                      <div class="layui-input-block">
                          <input type="text" name="alias" required lay-verify="required" placeholder="请输入标题" autocomplete="off"
                              class="layui-input">
                      </div>
                  </div>
                  <div class="layui-form-item">
                      <div class="layui-input-block">
                          <button class="layui-btn" lay-submit lay-filter="formDemo">确认修改</button>
                          <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                      </div>
                  </div>
              </form>`
        })

        let id = $(this).attr('data-id')
        axios({
            // id动态参数
            // 特点：/不能省略  ：一定要去掉   id动态变化 
            url: '/my/article/cates/' + id,
        }).then(({
            data: res
        }) => {
            if (res.status != 0) {
                return layer.msg(res.message)
            }
            layui.form.val('editForm', res.data)
        })
    })

    // 需求5.修改文章分类
    $('body').on('submit', '#editForm', function (e) {
        e.preventDefault()
        axios({
            method: 'post',
            url: '/my/article/updatecate',
            data: $(this).serialize()
        }).then(({
            data: res
        }) => {
            if (res.status != 0) {
                return layer.msg(res.message)
            }
            layer.msg('恭喜你，修改文章成功')
            initArtCateList()
            // 关闭对话框
            layer.close(indexEdit)
        })
    })

    // 需求6：删除
    $('tbody').on('click', '.btn-del', function () {
        let id = $(this).attr('data-id')
        layer.confirm('确认删除吗?', {
            icon: 3,
            title: '提示'
        }, function (index) {
            axios({
                url: '/my/article/deletecate/' + id
            }).then(({
                data: res
            }) => {
                if(res.status !=0){
                    return layer.msg(res.message)
                }
            })
            layer.msg('恭喜你删除成功')
            initArtCateList()
            layer.close(index);
        });

    })
})